Network tunnelling

ABSTRACT

MPLS labels can be used to tunnel data packets through IP networks. At a start point such as a router or network terminator, the IP destination address is examined and one or more labels generated which relate to the topology of the network. The labels can include QoS information. The packet is then sent to the destination via a label switched path. At the destination the packet may be sent on via a further label switched path by examining the IP address from the received label and generating on or more fresh labels for the passage of the packet though the further label switched path.

[0001] This invention relates to the use of tunnelling techniques forrouting data through portions of a network where the addresses ofvarious network elements are not known at either the source ordestination.

[0002] A variety of tunnelling techniques are known and are commonlyused in network technology. They mostly rely on adding additionalrouting information to a data packet when it is being routed through anetwork to disguise the eventual destination and, at some point, mappingof private and public IP addresses.

[0003] Multi Protocol Label Switching MPLS has been developed tointegrate OSI layer 2 information about network links such as bandwidth,latency and utilization into layer 3 (IP) within a particular autonomoussystem or ISP, in order to simplify and improve IP packet exchange. MPLSgives network operators flexibility to divert and route traffic aroundlink failures, congestion and bottlenecks.

[0004] When packets enter a MPLS based network, label edge routers(LERS) give the packet a label. These labels contain routing table entryinformation and refer to the IP header field, the source IP address,layer 4 socket number information, and differentiated service. Differentpackets are assigned to corresponding labelled switch paths (LSPs) wherelabel switch routers (LSRs) place outgoing labels on the packets.Network operators can use these LSPs to divert and route traffic basedon data-stream type and Internet-access customer.

[0005] We have appreciated that MPLS may be used for tunnelling datathrough a network. Accordingly there is provided a method of sendingdata through an IP communications network from a first network point toa destination point, the method comprising the steps of attaching atleast one label to the data at the first network point based on thedestination IP address of the data, the label including routinginformation through the IP network to the destination point determinedby the network topology, and routing the data through the network to thedestination point via a label switched path comprising the routeincluded in the at least one label.

[0006] The invention also provides a communications network including afirst network point, a destination network point, and a plurality ofintermediate network points, each of the first and destination networkpoints including means for generating at least one label from thedestination IP address of that data, means for attaching the at leastone label to the data, and means for routing the data and at least onelabel to the other of the first and destination network points via alabel switched path, the label switched path being determined by thenetwork topology.

[0007] Embodiments of the invention have the advantage that labels maybe used to tunnel through networks. The labels determine the physicalpath through the networks rather than MAC addresses or IP address.

[0008] Preferably labels may be used to send data packets through two ormore networks. At the termination point of a label switched path thatconnects two networks the destination address can be extracted from areceived label and a fresh label or set of labels generated to send thedata packet through the further network via a further label switchedpath.

[0009] A label switched path may be used for sending messages to a DHCPserver. A DHCP discover message is sent via a label switched path. Apublic IP address is allocated by the server and sent back to theoriginator. A router forming the label tunnel endpoint uses the addressto generate one or more labels to send the message back via a labelswitched path.

[0010] The invention also provides a method of sending data through anIP communications network comprising a first network point, adestination network point and a plurality of intermediate networkpoints, the method comprising sending a message from the first networkpoint to the destination network point to establish the networktopology, mapping the network topology to network IP addresses at thedestination point.

[0011] The invention also provides a communications network comprising afirst network point, a destination network point and a plurality ofintermediate network points, the first network point including means forsending a message to the destination network point to establish thenetwork topology, and the destination network point including means formapping the network topology to network IP addresses.

[0012] Embodiments of the invention will now be described, by way ofexample and with reference to the accompanying drawings, in which:

[0013]FIG. 1 shows how downstream tunnelling can be achieved using MPLSin an IP access network;

[0014]FIG. 2 shows how upstream tunnelling can be achieved in thenetwork of FIG. 1;

[0015]FIG. 3 shows an architecture to provide DHCP with MPLS;

[0016]FIG. 4 shows how MPLS labels can be generated automatically;

[0017]FIG. 5 shows downstream integration of MPLS tunnels;

[0018]FIG. 6 shows upstream integration of MPLS tunnels; and

[0019]FIG. 7 shows the allocation of a single MPLS label for explicitlydownstream routing.

[0020] Use of MPLS for tunnelling has a number of advantages, namely itcan be used to determine the physical path through the network. Insteadof using MAC or IP addresses to route packets, MPLS can be generatedaccording to the destination of the packets. MPLS can also be used toidentify the quality of service requirements of paths through thenetwork and provide multiple paths through the access networks.

[0021] The use of MPLS will be described first by considering downstreamand upstream tunnelling with reference, respectively, to FIGS. 1 and 2.

[0022]FIG. 1 shows an access network 10 having a network terminator 18,a pair of concentrators 11 and an access network router 15. Anexplicitly routed LSP (label switched path) is used to tunnel downstreamdata through the network. The access router 15 keeps a map of IPaddresses to MPLS labels. When a packet arrives at the access router,its IP address is examined. Three MPLS labels, D1, D2 and D3 areinserted into the packet and the packet sent to the first stageconcentrator 11 a. The number of labels attached will be equal to thenumber of stages in the network through which the packet has to pass. Inthis case, there are three stages; access router to concentrator 11 a;concentrator 11 b; and network terminator 18.

[0023] The first stage concentrator examines the label on top of thestack D1 and uses it to route the packet, removing that label, D1, fromthe label stack. D1 may contain the output port number on which thepacket is to be transmitted. Label D1 is popped off the label stack andthe packet forwarded to the second stage concentrator 11 b. Here asimilar operation is performed, using label D2 and, according to thedestination given by label D2 the packet, now only containing theoriginal packet and label D3 is forwarded to the network terminator. Atthe NT 18, a similar operation is performed again, with the NT examiningthe remaining label D3 and routing the bare packet to the appropriateelement in the network terminator depending upon the routing informationcontained in label D3. This final destination is the tunnel endpoint.

[0024] The MPLS labels can also be used to provide quality of serviceQoS management by using a part of the label to allocate a class to thetraffic which controls the queueing algorithms used on concentrationpoints.

[0025] The embodiment has been described in terms of a label for eachstage of the routing through the IP access network. If the MPLS label isoff sufficient length, a single label can carry routing and QoSinformation for more than one stage. This will be described later.

[0026] Referring now to FIG. 2, upstream routing of packets is moresimple as they are all destined for the same point; the access router15. Thus, a single label only is required and is used by all the stages.The label is not popped up by any of the stages but merely examinedbefore the packet and label is passed on to the next stage. The label isonly popped at the access network router. Again, the label, shown as U(upstream) in FIG. 2 can also include QoS information, using differentlabel values for different traffic classes.

[0027] It will be appreciated from the discussion of FIGS. 1 and 2 thatthe access network does not use IP addresses for internal routing ofuser packets. IP addresses are only used at the extremities of theaccess network where it has to communicate with external networks, forexample at the access router 15 and the network terminator 18.Individual address domains may be used for each type of service offeredby the NT, such as video, voice over IP and Internet access to simplifythe provision of firewall security.

[0028]FIG. 3 illustrates how DHCP can be provided with MPLS tunnelling.Like components are shown with the same reference numerals as inprevious examples.

[0029] The host 12 will request an IP address by generating a DHCPdiscover message. The DHCP is used to discover the network topology. TheDHCP message arrives at the MPLS tunnel entrance 22 in the networkterminator 18. The request is sent along the upstream LSP to the accessrouter 15 in the manner described with respect to FIG. 2. The accessrouter here acts as the tunnel endpoint 24. The DHCP discover requestwill now be acted upon by the DHCP server 26. The tunnel end pointstores a map of the network topology. The DHCP server allocates an IPaddress and sends a public IP address offer back to the client using thedetermined network topology. Subsequent messages can then have labelsgenerated according to the IP address allocated. To enable this, theaccess server 15 sets up the necessary mapping from IP address to MPLSlabel and sends the messages along the downstream LSP back to the clientin the manner described with respect to FIG. 1.

[0030] MPLS labels may be generated automatically. This will bedescribed with reference to FIG. 4. To begin with, a special MPLS labelUd is reserved for DHCP discover and request messages. The networkterminator 18 detects the DCHP message as it is an IP Broadcast message.

[0031] Broadcast messages are not normally forwarded by the networkterminator. The NT inserts the MPLS label Ud and inserts the port numberon which the request was received into a reserved field in the DHCPmessage. In the FIG. 4 example, this is 002 hex. The DHCP request isthen forwarded on to the second concentrator stage 11 b.

[0032] As each concentration stage receives the message it willrecognise that the message is a DCHP request as the packet will carrythe unique Ud label. The concentrator inserts the port number on whichthe request was received into some bits of the reserved field and passesthe message on. In the present example it can be seen that the messageis received at port three of concentrator 110 so the reserved fieldchanges from 002 to 032. At the next concentrator the message isreceived at port 1 and so the reserved field changes to 132.

[0033] When the DCHP message is received at the access router, acting asthe tunnel endpoint, the reserved field will contain the port numbers onwhich the message was received at all the concentrator stages includingthe network terminator. The DHCP request is sent to the DHCP server 26and, when a response is received, the reserved field, which must beechoed by the DHCP server, can be used to generate MPLS routing labelsfor the downstream path from the access router 15 to the networkterminator 18.

[0034] One field which may be used as the reserved field is the chaddrfield. If unicast DHCP renewals are used by clients, the NT also has todetect such renewals as a special case in order that the correct MPLSlabel can be applied.

[0035] So far, MPLS tunnels have been described purely within accessnetworks. Access tunnels may be integrated with external MPLS tunnels aswill be described with reference to FIGS. 5 and 6. The purpose of suchintegration is to enable the QoS attributes of the external tunnel to bemaintained in the access network.

[0036]FIG. 5 illustrates how this may be achieved for downstreammessages. Here there are two separate downstream tunnels, LSP1 and LSP2.In the first tunnel, a packet is sent from server 50 to the IP accessnetwork router 15. This packet has an attached label Li which includesquality of service management information. The access router 15terminates the tunnel LSP1 and pops the label Li extracting the QoSmanagement information and the destination and generates labels D1 toD3, or whatever labels are required as discussed with respect to FIG. 1.The QoS characteristics of tunnel LSP1 can be carried into these newlabels so that the appropriate queues are used to forward the packetswithin the access network.

[0037] In FIG. 6, upstream tunnels are easily integrated by extractingthe quality of service information specified in an upstream label U inthe access network at the access network router 15 and inserting it intothe label of the second tunnel LSP2 to maintain continuity. Thus the QoScharacteristics of the tunnel LSP1 can be carried forward into thecreation of labels for LSP2.

[0038] It was mentioned earlier that downstream messages, which includeseveral labels need not necessarily use a separate label for each stage.FIG. 7 shows how a 20 bit Ethernet coded MPLS label could be allocatedin a three stage access network. In FIG. 7, the two concentrator stages11 a, 11 b are identified as street nodes and distribution nodesrespectively. The access router is connected to 16 street nodes, each ofwhich are connected to 32 distribution nodes, giving a total of 512distribution nodes. The distribution nodes are each connected to 48 NTs;a total of 24576 NTs. Each of the NTs is connected to 8 service pointseach of which can be provided with one of four levels of Q0S. The 20 bitMPLS label is therefore made up of 4 bits street node number, 5 bitsstreet node port, 6 bits distribution node port, 3 bits NT port and 2bits QoS.

[0039] Tradeoffs may be made in the bit allocations. For example, 32street nodes each parenting 16 distribution nodes could be supported byallocating 5 bit to the street node number and four bits to the streetnode port number. At present, a two bit QoS is sufficient as only fourlevels of QoS are used: video, voice, LAN data and management but theabove allocation allows for eight for future use. The number of servicepoints may be reduced to four, using 2 MPLS bits, and the number of QoSlevels reduced to 2, using a single MPLS bit. This releases two furtherbits to allow, for example, 32 street nodes to support up to 64distribution nodes each.

[0040] It will be appreciated that in each of the embodiments described,MPLS has been used in tunnelling techniques to send data through anaccess network which uses private internal addresses or publicaddresses. In each case, data can pass through the network without theneed to know those private addresses. This has the advantage, forexample of making it possible to construct access networks using privateinternal addresses so reducing the need to use scarce public IPaddresses in such networks. Furthermore, by using MPLS labels, QoSinformation can be included at the same time.

[0041] The description has been given purelt in relation to labelgeneration. However, the use of DHCP discover messages to establishnetwork topology has broader application. The network topology is mappedto IP addresses at the server. As well as being useful for generatinglabels, this data can be used for other purposes such as admission andaccess control.

[0042] Variations and modifications to the embodiments are possible andwill occur to those skilled in the art. For example, MPLS may be usedfor tunnelling in other circumstances and the invention is not limitedto public or private access networks. Such modifications are within thescope of the present invention.

1. A method of sending data through an IP communications network from afirst network point to a second network point, the method comprising thesteps of attaching a single label to first data at the first networkpoint, the label including information identifying a route through theIP network to the second network point determined by the networktopology, and routing the first data through the network to the secondnetwork point via a label switched path comprising the route identifiedin the one label.
 2. A method according to claim 1 comprising the stepof attaching a plurality of labels to second data at the second networkpoint the labels including information identifying a route through theIP network to the first network point determined by the networktopology, and routing the second data through the network to the firstnetwork point via a label switched path comprising the route identifiedin the plurality of labels.
 3. A method according to claim 2 in whichthe label switched path comprises a number of intermediate points, inwhich the method includes the step of removing one of the plurality oflabels from the second data at each intermediate point of the networkthat the second data passes through and using it to route the seconddata.
 4. A method according to claims 1 to 3, in which the or each labelis an MPLS label.
 5. A method according to any of claims 1 to 4, inwhich the or each label includes quality of service information.
 6. Amethod according to any preceding claim, in which the first networkpoint comprises a network terminator, and the network includes a clientterminal attached to the network terminator and a DHCP server,comprising sending a DHCP discover message from the network terminatorvia a label switched path to the second network point, forwarding theDHCP discover message to the DHCP server via the label switched path,and allocating a public IP address to the client terminal originatingthe DHCP discover message.
 7. A method according to claim 5, in whichthe second network point comprises a router and the router maps theallocated public IP address of the client originator to at least onelabel.
 8. A method according to claim 6 or 7, in which the router sendsa message from the DHCP server including the client IP address via alabel switched path to the network terminator.
 9. A method according toclaim 8, in which the network terminator receives the at least one labeland forwards the message from the DHCP server to the client originator.10. A method according to claims 8 or 9, comprising inserting the portnumber on which the DHCP message is received at each stage of the labelswitched path into a reserved field within the message, and generatingrouting labels for routing of the message from the DHCP server to thenetwork terminator from the port numbers in the reserved field.
 11. Amethod according to claim 10, in which the labels are generated at therouter.
 12. A method according to any preceding claim, furthercomprising tunnelling the data from a third network point to the secondnetwork point inside a label switched path and, at the second networkpoint, removing a label attached to the data received from the thirdnetwork point and extracting the ultimate IP destination addresstherefrom, and generating a plurality of labels to enable the data to besent to the first network point via a further label switched path.
 13. Amethod according to any preceding claim including, at the second networkpoint, removing the single label attached to the data received from thefirst network point and extracting the ultimate IP destination addresstherefrom, and generating one or more labels for attachment to the datafor sending the data to the third network point via a further labelswitched path.
 14. A method according to claim 13 in which the singlelabel comprises quality of service information from the first networkpoint the method including the steps of extracting the quality ofservice information and using the extracted quality of serviceinformation in the generation of the one or more labels.
 15. Acommunications network comprising a first network point, a secondnetwork point, and a plurality of intermediate network points, in whichthe first network point comprises means for generating a label forcommunication to the second network point, means for attaching the labelto the first data, and means for routing the first data and the label tothe second network point via a label switched path, the label switchedpath being determined by the network topology.
 16. A communicationsnetwork according to claim 15 in which the second network pointcomprises means for generating a plurality of labels from thedestination IP address of second data, means for attaching the pluralityof labels to the second data, and means for routing the second data andthe plurality of labels to the first network point via a label switchedpath, the label switched path being determined by the network topology.17. A communications network according to claim 16 in which the labelswitched path comprises a number of intermediate points, in which eachintermediate point comprises means for removing one of the plurality oflabels from the second data and using it to route the second data.
 18. Acommunications network according to claim 16 or 17, in which the secondnetwork point comprises means for attaching a label for each of theintermediate points and the destination first point to the second data.19. A communications network according to any one of claims 15 to 18, inwhich the or each label is an MPLS label.
 20. A communications networkaccording to any one of claims 15 to 19 in which the or each labelcomprises quality of service information.
 21. A communications networkaccording to any of claims 15 to 20, comprising a DHCP server, in whichthe first network point comprises a network terminator, in which thedata comprises a DHCP discover message from a client terminal connectedto the network terminator to establish the topology of the network, inwhich the network terminator comprises means for forwarding the DHCPdiscover message to the second network point via the label switchedpath, and in which the DHCP server comprises means for allocating apublic IP address of the client terminal to the network topology.
 22. Acommunications network according to claim 21, in which the second pointcomprises a router and the means for generating a plurality of labelsgenerates at least one label according to the IP address of the firstnetwork point, and means for sending a message to the network terminatorfrom the DHCP server comprising the client public IP address via a labelswitched path.
 23. A communications network according to claim 22, inwhich the DHCP message comprises a reserved field and each intermediatepoint in the label switched path comprises means for inserting the portnumber on which the message was received into the reserved field.
 24. Acommunications network according to any of claims 15 to 23, comprising athird network point, the third network point having means for generatinglabels to send data to the second network point via a label switchedpath, the second network point comprising means for removing a labelfrom the data received from the third network point, for extracting theIP address of the message destination and for generating a plurality oflabels for attachment to the data for sending the data to the firstnetwork point via a further label switched path.
 25. A communicationsnetwork according to claim 24, in which the second network pointcomprises means for extracting quality of service information from thelabel removed from the data in which the plurality of labels generatedat the second network point comprises the extracted quality of serviceinformation.
 26. A communications network according to any of claims 15to 25, in which the second network point comprises means for removingthe single label attached to the data received from the first networkpoint and extracting the ultimate IP destination address therefrom, andfor generating one or more labels for attachment to the data for sendingthe data to a third network point via a further label switched path. 27.A communications network according to claim 26 in which the secondnetwork point comprises means for extracting quality of serviceinformation from the label from the first network point in which the oneor more labels generated at the second network point comprises theextracted quality of service information.